package com.toommi.refuse.service;

import com.github.pagehelper.PageInfo;
import com.toommi.refuse.entity.WechatUser;
import com.toommi.refuse.entity.WechatUserHousehold;
import com.toommi.refuse.exception.WechatUserException;
import com.toommi.refuse.model.WechatUserModel;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * ..
 * 微信端用户信息
 *
 * @author yangg
 * @since 2019-07-24 17:11
 */
public interface WechatUserService {

    /**
     * 微信用户注册-完善手机号
     *
     * @param
     */
    Map<String,Object> updateUser(String openid,String username,String phone,String code) throws WechatUserException;

    /**
     * 获取用户列表
     *
     * @param pageSize    每页数据量
     * @param currentPage 当前页码
     * @param keyWord     关键字
     * @return 用户列表
     */
    PageInfo<WechatUserModel> getUsers(int pageSize, int currentPage, String keyWord);

    /**
     * 用户绑定地址，门牌号
     *
     * @param wechatUserHousehold 用户/门牌号对应信息
     */
    void bindAddress(WechatUserHousehold wechatUserHousehold) throws WechatUserException;

    /**
     * 新增用户信息--用户微信oauth授权时记录用户openid信息，后续完善手机号等操作便基于此信息记录
     *
     * @param wechatUserModel 用户信息
     */
    void addUser(WechatUserModel wechatUserModel) throws WechatUserException;

    /**
     * 根据openid查询用户信息
     *
     * @param openId 微信openid
     * @return 用户信息
     */
    WechatUser findUser(String openId);

    /**
     * 获取微信用户信息
     * @param openid
     * @return
     */
    Map<String,Object> getUserInfo(String openid);

    Object getUserQrcode(String openid);

    Map<String,Object> judgeQrcode(String code);

    Map<String, Object> getUserInfoByOpenId(String openid);

    /**
     * 注册
     * @param phone
     * @param password
     * @param id
     * @return
     */
    void register(String phone, String password, String id,String name)throws WechatUserException;

    Object login(String phone, String password)throws WechatUserException;
}
